package HomeWork20241012;

class Vehicle {
    //    【代码1】//声明double型变量speed,刻画速度
    double speed;
    //    【代码2】//声明int型变量power,刻画功率
    int power;

    void speedUp(int s)
    {
//       【代码3】   //将参数s的值与成员变量speed的和赋值给成员变量speed
        speed += s;
    }
    void speedDown(int d) {
//       【代码4】  //将成员变量speed与参数d的差赋值给成员变量speed
        speed -= d;
    }
    void setPower(int p) {
//       【代码5】  //将参数p的值赋值给成员变量power
        power = p;
    }
    int getPower() {
//       【代码6】  //返回成员变量power的值
        return power;
    }
    double getSpeed() {
        return speed;
    }
}
// User.java

class Village {
    int treeAmount; // 用于表示森林中树木的数量

    public Village(int initialTreeAmount) {
        this.treeAmount = initialTreeAmount;
    }

    // 方法用于改变森林中树木的数量
    public void changeTreeAmount(int amount) {
        this.treeAmount += amount;
    }

    // 方法用于获取当前森林中树木的数量
    public int getTreeAmount() {
        return this.treeAmount;
    }
}

public class HomeWork241012/*User*/
{
    public static void main1(String args[]) {
    /*
     2．按下列要求修改第1题的程序：
    (l)改进speedUP( )方法，使得Vehicle类的对象在加速时不能将speed值超过200。
    void speedUp(int s)
    {
        if (speed + s > 200)
        return;
      speed += s;
    }
    (2)改进speedDown( )方法，使得Vehicle类的对象在减速时不能将speed值小于0。
    void speedDown(int d)
    {
    if (speed - d < 0)
    return;
        speed -= d;
    }
    (3)增加一个刹车方法void brake( ), Vehicle类的对象调用它能将speed的值变成0。
    void brake( )
    {
    speed = 0;
    }
    */
        Vehicle car1,car2;
//      【代码7】 //使用new 运算符和默认的构造方法创建对象car1
        car1 = new Vehicle();/*!!!!!!!!!记得加括号!!!!!!!!!*/
//      【代码8】 //使用new 运算符和默认的构造方法创建对象car2
        car2 = new Vehicle();
        car1.setPower(128);
        car2.setPower(76);
        System.out.println("car1的功率是："+car1.getPower());
        System.out.println("car2的功率是："+car2.getPower());

//      【代码9】  //car1调用speedUp方法将自己的speed的值增加80
        car1.speedUp(80);
//      【代码10】 //car2调用speedUp方法将自己的speed的值增加80
        car2.speedUp(80);
        System.out.println("car1目前的速度："+car1.getSpeed());
        System.out.println("car2目前的速度："+car2.getSpeed());
        car1.speedDown(10);
        car2.speedDown(20);
        System.out.println("car1目前的速度："+car1.getSpeed());
        System.out.println("car2目前的速度："+car2.getSpeed());
    }

    public static void main(String[] args)
    {
        /*
            编写程序模拟两个村庄共同拥有一片森林。
            编写一个 Village 类，该类有一个变量 treeAmount 用于表示森林中树木的数量。
            在主类 MainClass 的 main 方法中创建两个村庄，
            一个村庄改变了 treeAmount 的值，另一个村庄查看 treeAmount 的值。
        */

        // 创建两个村庄对象，每个村庄初始有100棵树
        Village village1 = new Village(100);
        Village village2 = new Village(100);

        // village1砍伐了20棵树
        village1.changeTreeAmount(-20);

        // village2查看森林中的树木数量
        System.out.println("village2看到的树木数量是：" + village2.getTreeAmount());

        // village2也砍伐了10棵树
        village2.changeTreeAmount(-10);

        // village1再次查看森林中的树木数量
        System.out.println("village1看到的树木数量是：" + village1.getTreeAmount());

    }
}